//# sourceURL=http://uMapApp/UI/Panel/FloatPanel
define([
    "mhjs/mhjs",
    "./Panel"
], function (
    mhjs,
    Panel
) {

    function FloatPanel(option) {

        var _this = this;

        //内置对象
        _this.ui = _this.ui || {};

        //类继承，参数赋值
        Panel.call(_this, option);
        _this.addClass("floatPanel");

    }

    var _class = FloatPanel;
    mhjs.Inherit(_class, Panel);

    Object.defineProperties(_class.prototype, {
        "showClose" : {
            set: function (boolean) {
                var _this = this;
                _this._showClose = Boolean(boolean);

                if (!_this.ui.close) {
                    _this.ui.close = new mhjs.Div({"class": "close"});
                    _this.ui.close.on("click", function () {
                        _this.close();
                    });
                    _this.append(_this.ui.close);
                }

                _this.ui.close.toggle(boolean);

            },
            get: function () {
                return this._showClose;
            }
        },
        "showMinMax": {
            set: function (boolean) {
                var _this = this;
                _this._showMinMax = Boolean(boolean);

                if (!_this.ui.minmax) {
                    _this.ui.minmax = new mhjs.Div({"class": "minmax"});
                    _this.ui.minmax.icon = new mhjs.Div({"class": "icon"});
                    _this.ui.minmax.label = new mhjs.Div({"class": "label"});
                    _this.ui.minmax.label.text(_this.title || "展开");
                    _this.ui.minmax.append(_this.ui.minmax.icon);
                    _this.ui.minmax.append(_this.ui.minmax.label);
                    _this.ui.minmax.on("click", function () {
                        _this.toggleMinMax();
                    });
                    _this.append(_this.ui.minmax);
                }
                _this.ui.minmax.toggleClass("hide", !boolean);

            },
            get: function () {
                return this._showClose;
            }
        },
        "title"     : {
            set: function (title) {
                var _this = this;
                _this._title = title;
                if (_this.ui.minmax) {
                    _this.ui.minmax.label.text(_this.title);
                }
            },
            get: function () {
                return this._title;
            }
        }
    });

    return _class;

});